본문으로 이동

자바 가상 머신 지원 언어

위키백과, 우리 모두의 백과사전.

자바 가상 머신 지원 언어는 컴퓨터 프로그래밍 언어로 자바 가상 머신 위에서 실행될 수 있도록 바이트코드를 생성하거나 자바 가상 머신 위에서 실행되는 인터프리터를 지원하는 언어를 말한다.

자바 가상 머신을 위한 새로운 언어

[편집]
언어 설명 홈페이지
Alef++ 객체 지향 프로그래밍 언어로 (Perl)과 리스프(Lisp) 문법을 따온 언어 [1]
AspectJ 자바 언어의 관점 지향 프로그래밍 확장 [2]
빈셸
BeanShell
자바 문법을 유사하게 따르는 동적 스크립트 언어 [3]
CAL 쿼크 프레임워크(Quark Framework)의 일부로 하스켈, 클린(Clean)[1], 자바에 영향을 받은 함수 언어. 자바 바이트코드로 컴파일할 수도 있으나 인터프리터도 포함되어 있다. 오픈 쿼크
클로저
Clojure
리스프의 방언으로 다중 스레드 프로그래밍을 쉽게 하는 등의 특징을 가진 함수 언어이다. 동적 타입 언어이나 타입 추론과 선택적으로 기입하는 타입 힌트를 이용해서 효율적인 바이트코드를 생성한다. [4]
E 자바 가상 머신과 커먼 리스프 양 쪽을 타겟으로 하는 언어 E
팬톰
Fantom
자바와 C# 문법과 유사한 언어로 자바 가상 머신과 .NET CLR, 자바스크립트를 타겟으로 지원하며 자바 표준 API와 별개로 독자적인 표준 API를 가지고 있어서 동일 코드를 모든 타겟에서 실행할 수 있다.
포트리스
Fortress
고성능 컴퓨팅을 위한 언어로 현재 자바 상에서 실행되는 참조 인터프리터 구현이 제공되며 일부 자바 프로그램과의 연동이 가능하다. 하지만 자바를 위해 설계된 언어라고 보기는 어렵다. [5]
프링크
Frink
자바 가상 머신 위에서 실행되는 계산 도구 겸 프로그래밍 언어로 계산식에서 별도 파일에 정의된 여러 수, 길이, 무게 등을 위한 단위를 명시할 수 있는 것이 특징이다. [6]
고수
Gosu
자바 가상 기계를 타겟으로 하는 객체 지향 언어로 정적 타입을 사용하고 타입 추론(type inference)과 클로저(closure)를 지원한다. 언어를 만든 회사가 실제 기업용 상용 시스템에 적용하고 있다는 것이 특기할 만한 점이다. [7]
그루비
Groovy
자바를 염두에 두고 설계된 객체 지향 스크립트 언어로 루비 (프로그래밍 언어)파이썬, 스몰토크 등에 영향을 받아 설계되었다. 그레이들(Gradle) 같은 많은 빌드 도구, 그레일즈(Grails) 같은 웹 프레임워크 등이 그루비로 작성되었다.
헤클
Hecl
자바 ME를 위한 스크립트 언어 [8]
Ioke 프로토타입 기반 언어로 Io, 스몰토크, 리스프, 루비 등에 영향을 받아 만들어졌고 현재 JVM공통 언어 런타임을 지원한다.
자스켈
Jaskell
하스켈에서 영향을 받은 지연된 계산(lazy evaluation)을 하는 스크립트 언어이다. [9]
젤리
Jelly
아파치 프로젝트의 하나이며 자바 플랫폼에서 실행되며 XML 문법을 사용한 스크립트 언어이다. [10]
쥬도스크립트
Judoscript
함수 언어로 범용 언어이기도 하지만 JDBC, WSDL 등 특정 영역에 맞는 스크립팅을 위한 언어로 설계되었다. 자바스크립트와 문법이 일부 유사하다. [11]
코틀린
Kotlin
IntelliJ IDEA 통합 개발 도구로 유명한 젯브레인즈(JetBrains)에서 개발 중인 정적 타입 언어로 실행 시에 타입 정보가 유지되는 제네릭스(generics) 등 유용한 특징을 가지면서도 스칼라보다는 단순한 언어로 설계되고 있다. 아직 문서 외에 개발 도구가 공개되지는 않았으나 2011년말 경 공개될 때 IntelliJ IDEA 자체에 코틀린 언어 지원이 포함될 예정이다. 신생 언어로서 통합 개발 환경이 지원되는 것은 언어 수용에 큰 이점으로 작용할 것으로 기대된다. [12]
미라
Mirah[2]
JRuby의 제작자가 만든 언어로 루비의 문법을 기반으로 한 정적 타입 언어이다. [13] Archived 2010년 7월 16일 - 웨이백 머신
스칼라
Scala
스위스 로잔 공대(École Polytechnique Fédérale de Lausanne)의 마틴 오더스키(Martin Odersky)가 설계한 정적 타입 언어로 함수 프로그래밍과 객체 지향 프로그래밍을 혼합한 것이 특징이다. 마틴 오더스키는 현재 자바 제네릭스(generics) 설계와 개발에 기어한 바 있다. 자바 가상 기계를 주요 목표 시스템으로 하지만 최근 마이크로소프트의 지원으로 .NET 판도 개발 중이다. 스칼라는 현재 트위터, 포스퀘어 등의 사이트에서 사용되는 등 자바 가상 기계 기반 언어 중 가장 주류로 편입된 언어로 평가 받는다. [14]

기존 언어의 자바 가상 머신 상 구현

[편집]
언어 자바 구현 홈페이지
에이다 JGNAT [15]
AWK Jawk [16]
C C to JVM 컴파일러 일례로 AMPC project
클린(Clean)[1] CleanJ [17]
코볼 isCOBOL 베리얀트 isCOBOL
콜드퓨전 어도비 콜드퓨전(MX, 즉, 버전6부터 자바 기반으로 재작성)
레일로(Railo) [18]
오픈 블루드래곤(Open BlueDragon) [19]
커먼 리스프(Common Lisp) 암드 베어 커먼 리스프(Armed Bear Common Lisp, 줄여서 ABCL) [20]
CLforJava(자바를 위한 커먼 리스프) [21]
Jatha [22]
컴포넌트 파스칼 가든즈 포인트 컴포넌트 파스칼(Gardens Point Component Pascal) [23]
얼랭 Erjang [24]
포스 홀론J(HolonJ, JVM용 포스 컴파일러) [25]
자바스크립트 모질라 라이노(Mozilla Rhino)
로고 jLogo [26]
XLogo [27]
루아 루아자바(LuaJava) [28]
칼루아(Kahlua) [29]
질(Jill, Java Implementation of Lua Language) [30]
오베론-2 JOB [31]
Objective Caml (OCaml) OCaml-자바 [32]
PHP IBM 웹스피어 s매시(WebSphere sMash) PHP (P8) [33]
카우쵸 쿼커스(Caucho Quercus) [34]
파이썬 자이썬
REXX IBM NetRexx [35]
루비 JRuby [36]
스킴 Kawa [37][3]
SISC [38]
JScheme [39]
Tcl Jacl Tcl/자바 프로젝트 페이지(Jacl 포함)
JTcl [40]

각주

[편집]
  1. 클린 언어
  2. 자와어: Mirah→루비
  3. 전체 프레임워크 내 스킴 구현 포함되어 있음